package com.ling.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BlogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BlogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("userId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("userId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("userId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("userId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("userId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("userId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("userId like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("userId not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("userId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("userId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("userId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("userId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andBlogtitleIsNull() {
            addCriterion("blogTitle is null");
            return (Criteria) this;
        }

        public Criteria andBlogtitleIsNotNull() {
            addCriterion("blogTitle is not null");
            return (Criteria) this;
        }

        public Criteria andBlogtitleEqualTo(String value) {
            addCriterion("blogTitle =", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleNotEqualTo(String value) {
            addCriterion("blogTitle <>", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleGreaterThan(String value) {
            addCriterion("blogTitle >", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleGreaterThanOrEqualTo(String value) {
            addCriterion("blogTitle >=", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleLessThan(String value) {
            addCriterion("blogTitle <", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleLessThanOrEqualTo(String value) {
            addCriterion("blogTitle <=", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleLike(String value) {
            addCriterion("blogTitle like", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleNotLike(String value) {
            addCriterion("blogTitle not like", value, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleIn(List<String> values) {
            addCriterion("blogTitle in", values, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleNotIn(List<String> values) {
            addCriterion("blogTitle not in", values, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleBetween(String value1, String value2) {
            addCriterion("blogTitle between", value1, value2, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtitleNotBetween(String value1, String value2) {
            addCriterion("blogTitle not between", value1, value2, "blogtitle");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidIsNull() {
            addCriterion("blogTypeId is null");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidIsNotNull() {
            addCriterion("blogTypeId is not null");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidEqualTo(String value) {
            addCriterion("blogTypeId =", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidNotEqualTo(String value) {
            addCriterion("blogTypeId <>", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidGreaterThan(String value) {
            addCriterion("blogTypeId >", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidGreaterThanOrEqualTo(String value) {
            addCriterion("blogTypeId >=", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidLessThan(String value) {
            addCriterion("blogTypeId <", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidLessThanOrEqualTo(String value) {
            addCriterion("blogTypeId <=", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidLike(String value) {
            addCriterion("blogTypeId like", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidNotLike(String value) {
            addCriterion("blogTypeId not like", value, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidIn(List<String> values) {
            addCriterion("blogTypeId in", values, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidNotIn(List<String> values) {
            addCriterion("blogTypeId not in", values, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidBetween(String value1, String value2) {
            addCriterion("blogTypeId between", value1, value2, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andBlogtypeidNotBetween(String value1, String value2) {
            addCriterion("blogTypeId not between", value1, value2, "blogtypeid");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNull() {
            addCriterion("areaId is null");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNotNull() {
            addCriterion("areaId is not null");
            return (Criteria) this;
        }

        public Criteria andAreaidEqualTo(String value) {
            addCriterion("areaId =", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotEqualTo(String value) {
            addCriterion("areaId <>", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThan(String value) {
            addCriterion("areaId >", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThanOrEqualTo(String value) {
            addCriterion("areaId >=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThan(String value) {
            addCriterion("areaId <", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThanOrEqualTo(String value) {
            addCriterion("areaId <=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLike(String value) {
            addCriterion("areaId like", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotLike(String value) {
            addCriterion("areaId not like", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidIn(List<String> values) {
            addCriterion("areaId in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotIn(List<String> values) {
            addCriterion("areaId not in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidBetween(String value1, String value2) {
            addCriterion("areaId between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotBetween(String value1, String value2) {
            addCriterion("areaId not between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andEdittimeIsNull() {
            addCriterion("editTime is null");
            return (Criteria) this;
        }

        public Criteria andEdittimeIsNotNull() {
            addCriterion("editTime is not null");
            return (Criteria) this;
        }

        public Criteria andEdittimeEqualTo(Date value) {
            addCriterion("editTime =", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeNotEqualTo(Date value) {
            addCriterion("editTime <>", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeGreaterThan(Date value) {
            addCriterion("editTime >", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeGreaterThanOrEqualTo(Date value) {
            addCriterion("editTime >=", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeLessThan(Date value) {
            addCriterion("editTime <", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeLessThanOrEqualTo(Date value) {
            addCriterion("editTime <=", value, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeIn(List<Date> values) {
            addCriterion("editTime in", values, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeNotIn(List<Date> values) {
            addCriterion("editTime not in", values, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeBetween(Date value1, Date value2) {
            addCriterion("editTime between", value1, value2, "edittime");
            return (Criteria) this;
        }

        public Criteria andEdittimeNotBetween(Date value1, Date value2) {
            addCriterion("editTime not between", value1, value2, "edittime");
            return (Criteria) this;
        }

        public Criteria andUpvotenumIsNull() {
            addCriterion("upvoteNum is null");
            return (Criteria) this;
        }

        public Criteria andUpvotenumIsNotNull() {
            addCriterion("upvoteNum is not null");
            return (Criteria) this;
        }

        public Criteria andUpvotenumEqualTo(Integer value) {
            addCriterion("upvoteNum =", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumNotEqualTo(Integer value) {
            addCriterion("upvoteNum <>", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumGreaterThan(Integer value) {
            addCriterion("upvoteNum >", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("upvoteNum >=", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumLessThan(Integer value) {
            addCriterion("upvoteNum <", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumLessThanOrEqualTo(Integer value) {
            addCriterion("upvoteNum <=", value, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumIn(List<Integer> values) {
            addCriterion("upvoteNum in", values, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumNotIn(List<Integer> values) {
            addCriterion("upvoteNum not in", values, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumBetween(Integer value1, Integer value2) {
            addCriterion("upvoteNum between", value1, value2, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andUpvotenumNotBetween(Integer value1, Integer value2) {
            addCriterion("upvoteNum not between", value1, value2, "upvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumIsNull() {
            addCriterion("downvoteNum is null");
            return (Criteria) this;
        }

        public Criteria andDownvotenumIsNotNull() {
            addCriterion("downvoteNum is not null");
            return (Criteria) this;
        }

        public Criteria andDownvotenumEqualTo(Integer value) {
            addCriterion("downvoteNum =", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumNotEqualTo(Integer value) {
            addCriterion("downvoteNum <>", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumGreaterThan(Integer value) {
            addCriterion("downvoteNum >", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("downvoteNum >=", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumLessThan(Integer value) {
            addCriterion("downvoteNum <", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumLessThanOrEqualTo(Integer value) {
            addCriterion("downvoteNum <=", value, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumIn(List<Integer> values) {
            addCriterion("downvoteNum in", values, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumNotIn(List<Integer> values) {
            addCriterion("downvoteNum not in", values, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumBetween(Integer value1, Integer value2) {
            addCriterion("downvoteNum between", value1, value2, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andDownvotenumNotBetween(Integer value1, Integer value2) {
            addCriterion("downvoteNum not between", value1, value2, "downvotenum");
            return (Criteria) this;
        }

        public Criteria andTopIsNull() {
            addCriterion("top is null");
            return (Criteria) this;
        }

        public Criteria andTopIsNotNull() {
            addCriterion("top is not null");
            return (Criteria) this;
        }

        public Criteria andTopEqualTo(Integer value) {
            addCriterion("top =", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopNotEqualTo(Integer value) {
            addCriterion("top <>", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopGreaterThan(Integer value) {
            addCriterion("top >", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopGreaterThanOrEqualTo(Integer value) {
            addCriterion("top >=", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopLessThan(Integer value) {
            addCriterion("top <", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopLessThanOrEqualTo(Integer value) {
            addCriterion("top <=", value, "top");
            return (Criteria) this;
        }

        public Criteria andTopIn(List<Integer> values) {
            addCriterion("top in", values, "top");
            return (Criteria) this;
        }

        public Criteria andTopNotIn(List<Integer> values) {
            addCriterion("top not in", values, "top");
            return (Criteria) this;
        }

        public Criteria andTopBetween(Integer value1, Integer value2) {
            addCriterion("top between", value1, value2, "top");
            return (Criteria) this;
        }

        public Criteria andTopNotBetween(Integer value1, Integer value2) {
            addCriterion("top not between", value1, value2, "top");
            return (Criteria) this;
        }

        public Criteria andReadcountIsNull() {
            addCriterion("readCount is null");
            return (Criteria) this;
        }

        public Criteria andReadcountIsNotNull() {
            addCriterion("readCount is not null");
            return (Criteria) this;
        }

        public Criteria andReadcountEqualTo(Integer value) {
            addCriterion("readCount =", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountNotEqualTo(Integer value) {
            addCriterion("readCount <>", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountGreaterThan(Integer value) {
            addCriterion("readCount >", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("readCount >=", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountLessThan(Integer value) {
            addCriterion("readCount <", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountLessThanOrEqualTo(Integer value) {
            addCriterion("readCount <=", value, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountIn(List<Integer> values) {
            addCriterion("readCount in", values, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountNotIn(List<Integer> values) {
            addCriterion("readCount not in", values, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountBetween(Integer value1, Integer value2) {
            addCriterion("readCount between", value1, value2, "readcount");
            return (Criteria) this;
        }

        public Criteria andReadcountNotBetween(Integer value1, Integer value2) {
            addCriterion("readCount not between", value1, value2, "readcount");
            return (Criteria) this;
        }

        public Criteria andBlogstatusIsNull() {
            addCriterion("blogStatus is null");
            return (Criteria) this;
        }

        public Criteria andBlogstatusIsNotNull() {
            addCriterion("blogStatus is not null");
            return (Criteria) this;
        }

        public Criteria andBlogstatusEqualTo(Integer value) {
            addCriterion("blogStatus =", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusNotEqualTo(Integer value) {
            addCriterion("blogStatus <>", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusGreaterThan(Integer value) {
            addCriterion("blogStatus >", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("blogStatus >=", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusLessThan(Integer value) {
            addCriterion("blogStatus <", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusLessThanOrEqualTo(Integer value) {
            addCriterion("blogStatus <=", value, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusIn(List<Integer> values) {
            addCriterion("blogStatus in", values, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusNotIn(List<Integer> values) {
            addCriterion("blogStatus not in", values, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusBetween(Integer value1, Integer value2) {
            addCriterion("blogStatus between", value1, value2, "blogstatus");
            return (Criteria) this;
        }

        public Criteria andBlogstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("blogStatus not between", value1, value2, "blogstatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}